summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-06-12 20:30:38 +0200
committerKent Hansen <khansen@trolltech.com>2009-06-12 20:30:38 +0200
commit45a72e2dfeffb582da7f8b4ffd92924bcd6a9166 (patch)
tree75cd24e5455dea0f4a9fd45e01c380993b9afa8c
parent9a041e28ec478791240f2cbe8c19a9f3f8bc7a1a (diff)
reap benefits of scriptdebugger core refactorings
-rw-r--r--src/qscriptremotetargetdebugger.cpp143
-rw-r--r--src/qscriptremotetargetdebugger.h8
2 files changed, 5 insertions, 146 deletions
diff --git a/src/qscriptremotetargetdebugger.cpp b/src/qscriptremotetargetdebugger.cpp
index 9e5152e..1f3980f 100644
--- a/src/qscriptremotetargetdebugger.cpp
+++ b/src/qscriptremotetargetdebugger.cpp
@@ -28,16 +28,7 @@
#include <private/qscriptdebuggercommand_p.h>
#include <private/qscriptdebuggerevent_p.h>
#include <private/qscriptdebuggerresponse_p.h>
-#include <private/qscriptdebuggerwidgetfactoryinterface_p.h>
-#include <private/qscriptdebugoutputwidget_p.h>
-#include <private/qscriptdebuggerconsolewidget_p.h>
-#include <private/qscripterrorlogwidget_p.h>
-#include <private/qscriptbreakpointswidget_p.h>
-#include <private/qscriptdebuggercodewidget_p.h>
-#include <private/qscriptdebuggercodefinderwidget_p.h>
-#include <private/qscriptdebuggerstackwidget_p.h>
-#include <private/qscriptdebuggerscriptswidget_p.h>
-#include <private/qscriptdebuggerlocalswidget_p.h>
+#include <private/qscriptdebuggerstandardwidgetfactory_p.h>
// #define DEBUG_DEBUGGER
@@ -302,7 +293,7 @@ void QScriptRemoteTargetDebugger::createDebugger()
{
if (!m_debugger) {
m_debugger = new QScriptDebugger();
- m_debugger->setWidgetFactory(this);
+ m_debugger->setWidgetFactory(new QScriptDebuggerStandardWidgetFactory(this));
QObject::connect(m_debugger, SIGNAL(started()),
this, SIGNAL(evaluationResumed()));
QObject::connect(m_debugger, SIGNAL(stopped()),
@@ -420,120 +411,14 @@ void QScriptRemoteTargetDebugger::showStandardWindow()
QWidget *QScriptRemoteTargetDebugger::widget(DebuggerWidget widget) const
{
const_cast<QScriptRemoteTargetDebugger*>(this)->createDebugger();
- switch (widget) {
- case ConsoleWidget: {
- QScriptDebuggerConsoleWidgetInterface *w = m_debugger->consoleWidget();
- if (!w) {
- w = new QScriptDebuggerConsoleWidget();
- m_debugger->setConsoleWidget(w);
- }
- return w;
- }
- case StackWidget: {
- QScriptDebuggerStackWidgetInterface *w = m_debugger->stackWidget();
- if (!w) {
- w = new QScriptDebuggerStackWidget();
- m_debugger->setStackWidget(w);
- }
- return w;
- }
- case ScriptsWidget: {
- QScriptDebuggerScriptsWidgetInterface *w = m_debugger->scriptsWidget();
- if (!w) {
- w = new QScriptDebuggerScriptsWidget();
- m_debugger->setScriptsWidget(w);
- }
- return w;
- }
- case LocalsWidget: {
- QScriptDebuggerLocalsWidgetInterface *w = m_debugger->localsWidget();
- if (!w) {
- w = new QScriptDebuggerLocalsWidget();
- m_debugger->setLocalsWidget(w);
- }
- return w;
- }
- case CodeWidget: {
- QScriptDebuggerCodeWidgetInterface *w = m_debugger->codeWidget();
- if (!w) {
- w = new QScriptDebuggerCodeWidget();
- m_debugger->setCodeWidget(w);
- }
- return w;
- }
- case CodeFinderWidget: {
- QScriptDebuggerCodeFinderWidgetInterface *w = m_debugger->codeFinderWidget();
- if (!w) {
- w = new QScriptDebuggerCodeFinderWidget();
- m_debugger->setCodeFinderWidget(w);
- }
- return w;
- }
- case BreakpointsWidget: {
- QScriptBreakpointsWidgetInterface *w = m_debugger->breakpointsWidget();
- if (!w) {
- w = new QScriptBreakpointsWidget();
- m_debugger->setBreakpointsWidget(w);
- }
- return w;
- }
- case DebugOutputWidget: {
- QScriptDebugOutputWidgetInterface *w = m_debugger->debugOutputWidget();
- if (!w) {
- w = new QScriptDebugOutputWidget();
- m_debugger->setDebugOutputWidget(w);
- }
- return w;
- }
- case ErrorLogWidget: {
- QScriptErrorLogWidgetInterface *w = m_debugger->errorLogWidget();
- if (!w) {
- w = new QScriptErrorLogWidget();
- m_debugger->setErrorLogWidget(w);
- }
- return w;
- }
- }
- return 0;
+ return m_debugger->widget(static_cast<QScriptDebugger::DebuggerWidget>(widget));
}
QAction *QScriptRemoteTargetDebugger::action(DebuggerAction action) const
{
QScriptRemoteTargetDebugger *that = const_cast<QScriptRemoteTargetDebugger*>(this);
that->createDebugger();
- switch (action) {
- case InterruptAction:
- return m_debugger->interruptAction(that);
- case ContinueAction:
- return m_debugger->continueAction(that);
- case StepIntoAction:
- return m_debugger->stepIntoAction(that);
- case StepOverAction:
- return m_debugger->stepOverAction(that);
- case StepOutAction:
- return m_debugger->stepOutAction(that);
- case RunToCursorAction:
- return m_debugger->runToCursorAction(that);
- case RunToNewScriptAction:
- return m_debugger->runToNewScriptAction(that);
- case ToggleBreakpointAction:
- return m_debugger->toggleBreakpointAction(that);
- case ClearDebugOutputAction:
- return m_debugger->clearDebugOutputAction(that);
- case ClearErrorLogAction:
- return m_debugger->clearErrorLogAction(that);
- case ClearConsoleAction:
- return m_debugger->clearConsoleAction(that);
- case FindInScriptAction:
- return m_debugger->findInScriptAction(that);
- case FindNextInScriptAction:
- return m_debugger->findNextInScriptAction(that);
- case FindPreviousInScriptAction:
- return m_debugger->findPreviousInScriptAction(that);
- case GoToLineAction:
- return m_debugger->goToLineAction(that);
- }
- return 0;
+ return m_debugger->action(static_cast<QScriptDebugger::DebuggerAction>(action), that);
}
QToolBar *QScriptRemoteTargetDebugger::createStandardToolBar(QWidget *parent)
@@ -575,24 +460,4 @@ QMenu *QScriptRemoteTargetDebugger::createStandardMenu(QWidget *parent)
return menu;
}
-QScriptDebugOutputWidgetInterface *QScriptRemoteTargetDebugger::createDebugOutputWidget()
-{
- return new QScriptDebugOutputWidget();
-}
-
-QScriptDebuggerConsoleWidgetInterface *QScriptRemoteTargetDebugger::createConsoleWidget()
-{
- return new QScriptDebuggerConsoleWidget();
-}
-
-QScriptErrorLogWidgetInterface *QScriptRemoteTargetDebugger::createErrorLogWidget()
-{
- return new QScriptErrorLogWidget();
-}
-
-QScriptDebuggerCodeFinderWidgetInterface *QScriptRemoteTargetDebugger::createCodeFinderWidget()
-{
- return new QScriptDebuggerCodeFinderWidget();
-}
-
#include "qscriptremotetargetdebugger.moc"
diff --git a/src/qscriptremotetargetdebugger.h b/src/qscriptremotetargetdebugger.h
index 32f430c..458cce9 100644
--- a/src/qscriptremotetargetdebugger.h
+++ b/src/qscriptremotetargetdebugger.h
@@ -25,7 +25,6 @@
#include <QtCore/qobject.h>
#include <QtNetwork/qabstractsocket.h>
#include <QtNetwork/qhostaddress.h>
-#include <private/qscriptdebuggerwidgetfactoryinterface_p.h>
class QScriptDebugger;
class QScriptRemoteTargetDebuggerFrontend;
@@ -36,7 +35,7 @@ class QMenu;
class QToolBar;
class QScriptRemoteTargetDebugger
- : public QObject, private QScriptDebuggerWidgetFactoryInterface
+ : public QObject
{
Q_OBJECT
public:
@@ -108,11 +107,6 @@ private Q_SLOTS:
void showStandardWindow();
private:
- QScriptDebugOutputWidgetInterface *createDebugOutputWidget();
- QScriptDebuggerConsoleWidgetInterface *createConsoleWidget();
- QScriptErrorLogWidgetInterface *createErrorLogWidget();
- QScriptDebuggerCodeFinderWidgetInterface *createCodeFinderWidget();
-
void createDebugger();
private: